package com.dmw.service;

import com.dmw.dto.Dto;
import com.dmw.service.impl.ItemConsumerServiceImpl;

import com.dmw.vo.itemInfoVO.AddScoreVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@FeignClient(name = "p-item",fallback= ItemConsumerServiceImpl.class)
public interface ItemConsumerService {

    @PostMapping("/queryItemList")
    public Dto queryItemList(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemDetail")
    public Dto queryItemDetail(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemScheduler")
    public Dto queryItemScheduler(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemPrice")
    public Dto queryItemPrice(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemComment")
    public Dto queryItemComment(@RequestBody Map<String,Object> map);

    @PostMapping("/commitItemComment")
    public Dto commitItemComment(@RequestBody AddScoreVO vo);

    @PostMapping("/queryItemRecommend")
    public Dto queryItemRecommend(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemType")
    public Dto queryItemType(@RequestBody Map<String,Object> map);

    @PostMapping("/querySlideShowPic")
    public Dto querySlideShowPic(@RequestBody Map<String,Object> map);

    @PostMapping("/queryItemLike")
    public Dto queryItemLike(
            @RequestBody Map<String,Object> map);

    @PostMapping("/queryItemNice")
    public Dto queryItemNice(
            @RequestBody Map<String,Object> map);

    @PostMapping("/queryItemByAge")
    public Dto queryItemByAge(
            @RequestBody Map<String,Object> map);

    @PostMapping("/queryHotCity")
    public Dto queryHotCity();

    @PostMapping("/queryItemHot")
    public Dto queryItemHot(
            @RequestBody Map<String,Object> map);

    @PostMapping("/queryAdvertising")
    public Dto queryAdvertising(
            @RequestBody Map<String,Object> map);

    @PostMapping("/queryAllType")
    public Dto queryAllType();

    @PostMapping("/queryTransverse")
    public Dto queryTransverse();

    @PostMapping("/queryBanner")
    public Dto queryBanner();

    @PostMapping("/queryTodayRecommend")
    public Dto queryTodayRecommend();

    @PostMapping("/queryToSaleItem")
    public Dto queryToSaleItem();

    @PostMapping("/queryFloorItems")
    public Dto queryFloorItems();

    @PostMapping("/queryHotItems")
    public Dto queryHotItems(@RequestBody Map<String, Object> map);

    @PostMapping("/loadCurrentUserByToken")
    public Dto loadCurrentUserByToken(@RequestParam String token);
}
